import os

path = "d:/pytest"


# 文件新增,修改，删除操作
def file_operation():
    # 如果目录不存在，则创建文件夹pytest，
    if os.path.exists(path) == 0:
        os.mkdir(path)

    a_path = path + "/a.txt"
    if os.path.exists(a_path) == 0:
        # 打开文件
        print("===>创建文件a.txt")
        fd = os.open(a_path, os.O_RDWR | os.O_CREAT)
        # 获取以上文件的对象,创建文件a.txt
        f = os.fdopen(fd, "w+")
        # 获取当前位置
        print("Current I/O pointer position :%d" % f.tell())

        # 写入字符串
        f.write("Python is a great language.\nYeah its great!!\n");

        # 读取内容
        os.lseek(fd, 0, 0)
        str = os.read(fd, 100)
        print("Read String is : ", str)

        # 获取当前位置
        print("Current I/O pointer position :%d" % f.tell())

        # 关闭文件
        os.close(fd)

    b_path = path + "/b.txt"
    if os.path.exists(b_path) == 0:
        print("===>创建文件b.txt")
        # 打开文件
        fd1 = os.open(b_path, os.O_RDWR | os.O_CREAT)
        # 获取以上文件的对象,创建文件b.txt
        f = os.fdopen(fd1, "w+")
        # 关闭文件 创建了a.txt之后，自动销毁Python文件对象，关闭文件句柄，再次调用时抛出该异常
        # os.close(fd1)

    print(f'{path} 目录列表: {os.listdir(path)}')

    new_aaa = path + "/aaa.txt"
    # 先判断文件是否存在，如果a.txt 存在，则给他修改名字，否则删除aaa.txt
    if os.path.exists(new_aaa):
        # 删除aaa.txt
        print(f'删除文件{new_aaa}')
        os.remove(new_aaa)
    else:
        # 给文件重命名
        print(f'给文件{a_path}重命名{new_aaa}')
        os.rename(a_path, new_aaa)

    # 查看目录列表
    print(f'{path} 目录列表: {os.listdir(path)}')

# 文件夹 新增,修改，删除
def folder_operation():
    # 如果目录不存在，则创建文件夹pytest，
    if os.path.exists(path) == 0:
        os.mkdir(path)

    # 如果目录不存在，创建文件夹folder2
    folder2 = path + "/folder2"
    if os.path.exists(folder2) == 0:
        print("===>创建文件夹", folder2)
        os.mkdir(folder2)

        print(f'{path} 目录列表: {os.listdir(path)}')

        print("---->执行重命名folder2")
        folder2_new = path + "/folder3"
        # 重命名目录或文件
        os.replace(folder2,folder2_new)

        print(f'{path} 目录列表: {os.listdir(path)}')

        # 删除目录folder2,该目录必须是空的不含文件才可删除，否则报错
        print("---->删除目录folder3")
        os.rmdir(folder2_new)

        print(f'{path} 目录列表: {os.listdir(path)}')
    else:
        print("===>已经存在", folder2)

    # 读取一遍文档列表



if __name__ == '__main__':
    # folder_operation()
    file_operation()